IIS 관리자
1. 개요
1. 개요
IIS 관리자는 마이크로소프트가 개발한 웹 서버 관리 도구이다. 이 도구는 마이크로소프트 윈도우 운영 체제에 포함된 IIS의 설정, 구성, 모니터링을 위한 통합 관리 환경을 제공한다. 주로 웹 사이트 및 웹 애플리케이션을 호스팅하고 관리하는 시스템 관리자나 개발자가 사용한다.
이 도구는 그래픽 사용자 인터페이스를 통해 IIS의 복잡한 설정을 직관적으로 관리할 수 있게 해준다. 주요 관리 대상에는 사이트, 애플리케이션 풀, 가상 디렉터리, 인증 방식, 보안 설정 등이 포함된다. 또한 성능 모니터링, 로깅, 진단 기능을 통해 서버 상태를 점검하고 문제를 해결하는 데도 활용된다.
IIS 관리자를 사용하면 코드나 스크립트 작성 없이도 대부분의 웹 서버 구성 작업을 수행할 수 있다. 이는 명령줄 인터페이스나 PowerShell을 통한 관리 방식에 비해 접근성이 높은 방법이다. 따라서 시스템 관리의 초보자부터 전문가까지 폭넓게 사용되는 핵심 도구이다.
2. 주요 기능
2. 주요 기능
2.1. 사이트 및 애플리케이션 관리
2.1. 사이트 및 애플리케이션 관리
IIS 관리자의 핵심 기능 중 하나는 웹 사이트와 웹 애플리케이션의 생명주기를 관리하는 것이다. 관리자는 이 도구를 통해 새로운 웹 사이트를 생성하거나 기존 사이트를 중지, 시작, 제거할 수 있다. 각 사이트는 고유한 바인딩 정보, 즉 특정 IP 주소, 포트 번호, 호스트 이름을 기반으로 구성되며, 물리적 서버의 디렉터리 경로와 연결된다. 이를 통해 단일 서버에서 여러 개의 독립적인 웹 사이트를 호스팅하는 가상 호스팅이 가능해진다.
사이트 내에서는 하나 이상의 웹 애플리케이션을 정의하고 관리할 수 있다. 애플리케이션은 사이트의 특정 경로를 기준으로 구분되며, 각각 독립된 실행 환경과 구성 설정을 가질 수 있다. 관리자는 애플리케이션의 물리적 경로를 지정하고, 해당 애플리케이션이 사용할 응용 프로그램 풀을 할당하며, 필요한 인증 방식을 설정한다. 이는 복잡한 웹 서비스 구조에서 특정 기능 모듈을 분리하여 관리하고, 자원을 효율적으로 할당하는 데 필수적이다.
또한 IIS 관리자는 사이트와 애플리케이션의 세부적인 동작을 제어하는 다양한 설정을 제공한다. 여기에는 HTTP 프로토콜 동작, MIME 유형 관리, 컴프레션 설정 등이 포함된다. 이러한 설정들은 웹 서버의 성능 최적화, 호환성 유지, 보안 강화에 직접적인 영향을 미친다. 모든 구성 변경은 대부분 실시간으로 적용되거나 간단한 재시작을 통해 반영되어, 서비스 중단을 최소화하면서 유연한 관리가 가능하다.
2.2. 가상 디렉터리 설정
2.2. 가상 디렉터리 설정
가상 디렉터리 설정은 IIS 관리자의 핵심 기능 중 하나로, 웹 사이트의 물리적 디렉터리 구조와 논리적 URL 구조를 분리하여 관리할 수 있게 해준다. 가상 디렉터리는 웹 사이트의 루트 디렉터리 외부에 위치한 콘텐츠를 웹 애플리케이션 내에서 하나의 폴더처럼 접근할 수 있도록 매핑하는 논리적 경로이다. 이를 통해 파일 시스템의 물리적 구조를 변경하지 않고도 다양한 위치에 저장된 리소스를 통합된 웹 경로로 제공할 수 있다.
IIS 관리자에서 가상 디렉터리를 설정하려면 먼저 대상 웹 사이트를 선택한 후, 마우스 오른쪽 버튼을 클릭하거나 작업 창에서 '가상 디렉터리 추가'를 선택한다. 설정 과정에서는 가상 디렉터리의 별칭(alias)을 지정하고, 해당 별칭이 가리킬 실제 물리적 경로를 로컬 또는 네트워크 상의 디렉터리로 설정한다. 또한 응용 프로그램 풀 상속 여부와 같은 고급 설정을 구성할 수 있다. 이 기능은 공유 이미지 라이브러리나 여러 애플리케이션에서 공통으로 사용하는 스크립트 파일을 중앙에서 관리할 때 특히 유용하다.
가상 디렉터리는 인증 및 권한 부여 규칙을 독립적으로 적용할 수 있어 보안 관리에 유연성을 제공한다. 예를 들어, 주요 웹 콘텐츠와는 다른 사용자 계정으로 보호해야 하는 리소스를 별도의 가상 디렉터리로 구성할 수 있다. 또한 ASP.NET 애플리케이션의 경우, 가상 디렉터리를 별도의 애플리케이션으로 변환하여 독립된 구성과 프로세스 공간에서 실행되도록 할 수도 있다. 이는 특정 모듈이나 기능의 격리 및 관리를 용이하게 한다.
2.3. 응용 프로그램 풀 구성
2.3. 응용 프로그램 풀 구성
응용 프로그램 풀 구성은 IIS 관리자의 핵심 기능 중 하나로, 웹 애플리케이션의 격리, 자원 관리, 성능 및 안정성을 제어하는 데 사용된다. 응용 프로그램 풀은 하나 이상의 웹 애플리케이션을 실행하는 작업자 프로세스의 그룹이다. 각 풀은 독립된 메모리 공간과 프로세스 ID를 가지므로, 한 풀의 애플리케이션에 문제가 발생하더라도 다른 풀에 실행 중인 애플리케이션에는 영향을 미치지 않는다. 이를 통해 서버의 안정성과 가용성을 높일 수 있다.
관리자는 IIS 관리자에서 새 응용 프로그램 풀을 생성하고, .NET CLR 버전, 관리되는 파이프라인 모드(통합 또는 클래식), 그리고 ID와 같은 기본 속성을 설정할 수 있다. 또한, 재활용 조건을 구성하여 특정 메모리 사용량 제한에 도달하거나 요청 수가 일정 기준을 초과할 때 작업자 프로세스를 자동으로 재시작하도록 할 수 있다. 이는 메모리 누수를 방지하고 장기간 실행되는 애플리케이션의 성능을 유지하는 데 도움이 된다.
고급 설정에서는 CPU 사용률 제한, 프로세스 오케스트레이션, 그리고 빠른 장애 보호와 같은 세부적인 제어 옵션을 제공한다. 예를 들어, 특정 응용 프로그램 풀이 설정된 CPU 사용률 임계값을 초과하지 못하도록 제한하거나, 프로세스가 예기치 않게 종료될 경우 신속하게 새 프로세스를 생성하도록 구성할 수 있다. 이러한 구성은 호스팅 환경에서 여러 고객의 애플리케이션을 안정적으로 운영하거나, 중요한 웹 서비스의 성능을 보장할 때 특히 유용하다.
응용 프로그램 풀을 올바르게 구성하는 것은 웹 서버의 효율적인 자원 관리와 보안 강화에 필수적이다. 관리자는 애플리케이션의 요구 사항과 중요도에 따라 서로 다른 풀을 할당하고, 각 풀의 설정을 세밀하게 조정함으로써 전체 웹 서버의 성능과 견고성을 최적화할 수 있다.
2.4. 인증 및 권한 부여
2.4. 인증 및 권한 부여
IIS 관리자는 마이크로소프트 IIS 웹 서버의 보안을 구성하는 핵심 기능으로, 인증과 권한 부여 설정을 중앙에서 관리할 수 있게 한다. 인증은 사용자나 클라이언트의 신원을 확인하는 과정이며, IIS 관리자에서는 익명 인증, 기본 인증, Windows 인증, 폼 인증 등 다양한 인증 방식을 활성화하거나 비활성화할 수 있다. 예를 들어, 내부 네트워크 애플리케이션에는 Active Directory와 통합된 Windows 인증을, 인터넷 공개 사이트에는 폼 기반 인증을 구성하는 식으로 용도에 맞게 설정할 수 있다.
권한 부여는 인증된 사용자가 특정 파일, 디렉터리, 또는 응용 프로그램에 접근할 수 있는 권한을 제어하는 규칙을 설정하는 기능이다. IIS 관리자에서는 IP 주소 및 도메인 제한 규칙을 구성하여 특정 네트워크에서의 접근만 허용하거나 거부할 수 있으며, 파일 시스템의 NTFS 권한과 연동하여 보다 세밀한 접근 제어를 구현할 수 있다. 또한, URL 권한 부여 규칙을 통해 특정 사용자나 역할에 기반한 접근 규칙을 정의할 수 있어 애플리케이션 수준의 보안을 강화한다.
이러한 인증 및 권한 부여 설정은 사이트, 애플리케이션, 가상 디렉터리,甚至 개별 파일 수준까지 세분화하여 적용할 수 있으며, 구성 파일인 web.config에 설정이 저장된다. 관리자는 IIS 관리자의 그래픽 인터페이스를 통해 복잡한 보안 정책을 직관적으로 구성하고, Windows 서버의 다른 보안 메커니즘과 통합하여 포괄적인 웹 애플리케이션 보안 체계를 구축할 수 있다.
2.5. SSL 인증서 관리
2.5. SSL 인증서 관리
SSL 인증서 관리는 IIS 관리자를 통해 웹 서버의 통신 보안을 설정하는 핵심 기능이다. 이 기능을 사용하면 HTTPS 프로토콜을 활성화하여 클라이언트와 서버 간에 전송되는 데이터를 암호화할 수 있다. 관리자는 서버에 인증서를 바인딩하고, 인증 기관으로부터 발급받은 신뢰할 수 있는 인증서를 가져오거나, 테스트 목적으로 자체 서명된 인증서를 생성할 수 있다.
관리자는 주로 "서버 인증서" 기능을 사용한다. 이 메뉴에서는 서버에 설치된 모든 인증서를 목록으로 확인할 수 있으며, 새 인증서 요청을 생성하거나, PFX 파일 형식으로 인증서를 가져오는 작업을 수행한다. 사이트에 SSL 설정을 적용하려면, 특정 웹사이트의 "바인딩" 설정에서 HTTPS 유형을 추가하고, 해당 사이트에 사용할 인증서를 선택하여 포트(일반적으로 443)와 연결한다.
또한 IIS 관리자를 통해 인증서의 유효 기간을 모니터링하고, 만료된 인증서를 갱신하는 작업도 가능하다. TLS/SSL 설정에서는 사용할 암호화 프로토콜의 버전(예: TLS 1.2, TLS 1.3)과 암호 스위트의 강도를 구성하여 보안 수준을 조정할 수 있다. 이를 통해 웹 애플리케이션의 보안 요구사항과 호환성 요건을 동시에 충족시킨다.
3. 사용 방법
3. 사용 방법
3.1. IIS 관리자 실행
3.1. IIS 관리자 실행
IIS(Internet Information Services) 관리자를 실행하는 방법은 여러 가지가 있다. 가장 일반적인 방법은 마이크로소프트 윈도우의 시작 메뉴에서 'IIS'를 검색하여 'Internet Information Services(IIS) 관리자'를 선택하는 것이다. Windows Server 운영 체제에서는 서버 관리자 도구를 통해 역할 및 기능에 IIS가 설치되어 있다면 해당 관리 도구에 접근할 수도 있다.
또한 실행 창(Win + R)에 inetmgr 명령어를 입력하여 빠르게 실행할 수 있다. 이 명령어는 IIS가 설치된 모든 윈도우 버전에서 동일하게 작동한다. 제어판의 '관리 도구' 폴더 내에 바로가기가 위치해 있는 경우도 있다.
IIS 관리자가 실행되면, 좌측의 연결 창에서 로컬 서버를 비롯한 다양한 서버를 관리할 수 있다. 원격 서버를 관리하려면 연결 창에서 '시작 페이지'로 이동하거나, 파일 메뉴의 '연결' 기능을 사용하여 대상 서버의 이름 또는 IP 주소를 입력하여 연결을 설정한다. 이를 통해 중앙에서 여러 웹 서버를 관리하는 것이 가능해진다.
3.2. 사이트 추가 및 구성
3.2. 사이트 추가 및 구성
IIS 관리자를 통해 새로운 웹 사이트를 추가하고 구성하는 작업은 IIS 웹 서버 운영의 기본이 된다. 사이트 추가는 관리자 도구의 좌측 연결 트리에서 '사이트' 노드를 우클릭한 후 '웹 사이트 추가'를 선택하여 시작한다. 이 과정에서 사이트 이름, 콘텐츠가 위치한 물리적 경로, 호스트 이름, IP 주소, 포트 바인딩과 같은 핵심 정보를 설정해야 한다. 특히 동일한 서버에서 여러 사이트를 운영하는 경우 호스트 헤더 이름을 다르게 지정하는 호스트 헤더 바인딩을 활용하면 단일 IP 주소와 포트로 여러 도메인을 서비스할 수 있다.
사이트가 생성된 후에는 해당 사이트를 선택하여 다양한 설정을 상세히 구성할 수 있다. 대표적으로 기본 문서 설정을 통해 사용자가 디렉터리 경로만 입력했을 때 자동으로 제공될 파일의 순서를 지정할 수 있다. 또한 인증 모듈을 통해 익명 액세스, 윈도우 인증, 기본 인증 등의 방식을 선택하여 사이트 접근 제어를 설정한다. SSL 인증서가 필요한 경우 바인딩 편집을 통해 HTTPS 프로토콜을 추가하고 서버 인증서를 연결하여 보안 통신을 활성화한다.
사이트의 성능과 안정성을 관리하기 위해 응용 프로그램 풀을 할당하는 것도 중요하다. 새로 생성된 사이트는 기본 응용 프로그램 풀에 연결되거나, 독립적인 풀을 새로 생성하여 할당할 수 있다. 이를 통해 특정 사이트의 리소스 사용량을 격리하거나, .NET 버전, 관리 파이프라인 모드 등의 런타임 환경을 다른 사이트와 별도로 구성할 수 있다. 또한 가상 디렉터리를 생성하여 물리적 경로와 다른 논리적 경로로 사이트 내 특정 콘텐츠에 접근할 수 있도록 설정하는 작업도 이 단계에서 수행된다.
3.3. 기본 문서 설정
3.3. 기본 문서 설정
기본 문서 설정은 웹 서버가 특정 디렉터리를 요청받았을 때, 명시적인 파일 이름 없이 접근하는 경우 자동으로 제공할 기본 파일을 지정하는 기능이다. IIS 관리자에서는 이 설정을 통해 사용자가 사이트 루트 URL만 입력해도 자동으로 index.html이나 default.aspx 같은 파일이 응답하도록 구성할 수 있다. 이는 사용자 경험을 향상시키고 URL을 단순하게 유지하는 데 도움이 된다.
기본 문서 목록은 우선순위에 따라 순차적으로 평가된다. IIS는 요청된 디렉터리에서 목록의 첫 번째 파일 이름을 찾고, 파일이 존재하면 해당 파일을 제공한다. 파일이 없으면 목록의 다음 파일을 검색한다. 관리자는 이 목록에서 파일을 추가하거나 제거할 수 있으며, 목록에서의 순서를 끌어다 놓기로 쉽게 변경하여 우선순위를 조정할 수 있다. 또한 특정 웹 애플리케이션이나 가상 디렉터리 수준에서 기본 문서 설정을 상속받거나 재정의할 수 있어 유연한 구성이 가능하다.
이 기능은 정적 HTML 파일, ASP.NET 웹 폼 페이지, PHP 스크립트 등 다양한 유형의 파일을 지원한다. 일반적으로 index.html, default.html, index.php, default.aspx 등이 흔히 사용되는 기본 문서 이름이다. 적절한 기본 문서를 설정함으로써 사이트 보안을 강화할 수도 있는데, 예를 들어 디렉터리 검색 기능을 비활성화한 상태에서 기본 문서를 명시하면, 서버의 디렉터리 구조와 파일 목록이 외부에 노출되는 것을 방지할 수 있다.
3.4. 오류 페이지 사용자 지정
3.4. 오류 페이지 사용자 지정
오류 페이지 사용자 지정 기능은 웹 사이트나 웹 애플리케이션에서 발생하는 HTTP 상태 코드 오류(예: 404, 500)에 대해 사용자에게 표시할 페이지를 관리자가 직접 정의할 수 있게 해준다. 이 기능을 통해 기본적으로 제공되는 간단한 오류 메시지 대신, 웹 사이트의 디자인과 일관된 맞춤형 오류 페이지를 제공하여 사용자 경험을 개선할 수 있다. 또한 오류 발생 시 문제 해결을 위한 추가 정보를 포함하거나, 특정 오류에 대해 다른 동작(예: 다른 페이지로 리디렉션)을 정의하는 데에도 활용된다.
IIS 관리자에서 오류 페이지를 설정하려면, 먼저 사이트 또는 애플리케이션을 선택한 후 'IIS' 섹션의 '오류 페이지' 아이콘을 더블클릭한다. 여기서는 특정 HTTP 상태 코드(예: 404 찾을 수 없음, 403 금지됨)별로 서로 다른 오류 페이지를 구성할 수 있다. 각 오류 코드에 대해 '편집'을 클릭하면, 사용자 지정 오류 페이지의 경로를 지정하거나, 특정 URL로 리디렉션하거나, 동일한 요청을 다시 실행하는 등의 응답 동작을 선택할 수 있다.
사용자 지정 오류 페이지는 일반적으로 .htm, .html, .aspx 파일 등 정적 또는 동적 콘텐츠로 작성된다. 관리자는 이 페이지들에 오류 상황을 안내하는 친절한 메시지, 사이트 내 탐색 링크, 또는 문제 해결을 위한 연락처 정보 등을 포함시킬 수 있다. 특히 ASP.NET 애플리케이션의 경우, web.config 파일의 <customErrors> 섹션을 통해 오류 페이지를 구성하는 방법도 함께 사용될 수 있다.
이 설정은 사이트 수준과 애플리케이션 수준 모두에서 적용 가능하며, 하위 수준에서 별도로 설정하지 않으면 상위 수준의 구성을 상속받는다. 이를 통해 일관된 오류 처리 정책을 수립하고, 사용자가 접속 중 예기치 않게 빈 페이지나 기술적인 오류 메시지를 마주하는 상황을 줄여 웹 서비스의 전문성과 신뢰도를 높이는 데 기여한다.
4. 고급 설정
4. 고급 설정
4.1. URL 재작성 구성
4.1. URL 재작성 구성
URL 재작성 구성은 IIS 관리자에서 제공하는 고급 기능 중 하나로, 들어오는 HTTP 요청의 URL을 사용자가 정의한 규칙에 따라 변환하거나 리디렉션하는 역할을 한다. 이 기능은 주로 검색 엔진 최적화를 위해 사용자 친화적인 URL을 제공하거나, 웹 애플리케이션의 구조 변경 시 기존 링크를 새로운 주소로 자동 연결하는 데 활용된다. IIS 7.0 이상부터는 별도의 URL 재작성 모듈을 설치하여 이 기능을 사용할 수 있다.
URL 재작성 규칙은 일반적으로 정규 표현식을 기반으로 구성된다. 관리자는 특정 패턴을 가진 요청 URL을 감지하고, 그에 맞는 작업을 정의할 수 있다. 예를 들어, 동적 생성 페이지의 복잡한 쿼리 문자열을 포함한 URL을 간결하고 의미 있는 정적 URL 형태로 변환하는 규칙을 설정할 수 있다. 또한, 특정 조건을 충족하는 요청에 대해서만 재작성을 적용하거나, 재작성된 요청의 HTTP 응답 코드를 사용자 정의할 수도 있다.
IIS 관리자 내에서 URL 재작성을 구성하는 방법은 다음과 같다. 먼저, 대상 웹 사이트 또는 웹 애플리케이션을 선택한 후, 관리 화면에서 'URL 재작성' 아이콘을 더블클릭한다. 그러면 기존 규칙 목록이 표시되며, 오른쪽 작업 창에서 '규칙 추가...'를 선택하여 새로운 규칙을 생성할 수 있다. 규칙 생성 마법사는 '입력 규칙', '조건', '서버 변수', '작업' 등 단계별로 세부 설정을 안내한다.
URL 재작성 규칙을 효과적으로 관리하려면 로깅 기능을 적극 활용하는 것이 좋다. IIS는 재작성 모듈의 동작을 추적할 수 있는 실패 요청 추적 및 이벤트 뷰어 로그를 제공한다. 복잡한 규칙을 적용했을 때 예상치 못한 동작이 발생하면, 이러한 로그를 통해 원래의 요청 URL, 적용된 규칙, 최종 재작성된 URL 등을 확인하여 문제를 진단하고 해결할 수 있다.
4.2. 응용 프로그램 초기화
4.2. 응용 프로그램 초기화
응용 프로그램 초기화는 IIS 7.5부터 도입된 기능으로, 웹 애플리케이션이 첫 번째 사용자 요청을 처리하기 전에 미리 시작되어 초기 로딩 시간을 줄이는 데 사용된다. 이 기능은 특히 ASP.NET 애플리케이션의 시작 과정이 복잡하거나 시간이 오래 걸리는 경우에 유용하다. 관리자는 IIS 관리자를 통해 특정 웹 애플리케이션이나 웹 사이트에 대해 이 기능을 활성화하고 구성할 수 있다.
기능을 구성하려면 IIS 관리자에서 대상 사이트 또는 애플리케이션을 선택한 후 '응용 프로그램 초기화' 기능 아이콘을 더블클릭한다. 여기서 '서비스 사용' 옵션을 체크하여 기능을 활성화할 수 있다. 또한, '시작 모드'를 'AlwaysRunning'으로 설정하면 IIS가 시작될 때나 응용 프로그램 풀이 재활용될 때마다 해당 애플리케이션을 자동으로 초기화하도록 지시할 수 있다.
응용 프로그램 초기화를 사용하면 애플리케이션이 미리 준비된 상태가 되어 첫 방문자에게 발생하는 초기 지연을 방지할 수 있어 사용자 경험을 개선하는 데 도움이 된다. 이는 전자상거래 사이트나 인트라넷 포털과 같이 즉각적인 응답이 중요한 서비스에서 특히 효과적이다. 또한, 이 기능은 애플리케이션의 안정성을 높이는 데 기여할 수 있다.
4.3. 로깅 및 진단
4.3. 로깅 및 진단
IIS 관리자의 로깅 및 진단 기능은 웹 서버의 운영 상태를 모니터링하고 문제를 식별하는 데 필수적이다. 이 기능을 통해 시스템 관리자는 사이트 트래픽, 사용자 요청, 오류 및 성능 문제에 대한 상세한 정보를 수집하고 분석할 수 있다.
주요 로깅 기능으로는 W3C 확장 로그 파일 형식을 사용한 표준 로깅이 있다. 관리자는 로그 파일에 기록할 필드를 사용자 정의할 수 있으며, 여기에는 요청 시간, 클라이언트 IP 주소, 요청 방법(HTTP GET/POST), URI, HTTP 상태 코드, 전송된 바이트 수 등이 포함된다. 로그 파일은 특정 디렉터리에 저장되며, 파일 롤오버 정책을 설정하여 디스크 공간을 효율적으로 관리할 수 있다. 또한 IIS는 실시간으로 현재 요청을 모니터링할 수 있는 기능을 제공한다.
진단 도구는 성능 문제와 오류를 해결하는 데 중점을 둔다. 실패한 요청 추적 기능은 특정 조건(예: 일정 시간 이상 걸리는 요청이나 특정 HTTP 상태 코드를 반환하는 요청)을 만족하는 요청에 대한 상세한 추적 로그를 생성한다. 이 로그에는 요청이 처리되는 동안의 모듈, 구성 요소별 실행 단계와 소요 시간이 기록되어 병목 현상을 정확히 찾아낼 수 있다. 또한 HTTP 응답 헤더를 확인하거나 요청 모니터를 사용하여 웹 애플리케이션의 실행 상태를 점검할 수 있다.
5. 문제 해결
5. 문제 해결
5.1. 일반적인 오류 및 해결 방법
5.1. 일반적인 오류 및 해결 방법
IIS 관리자를 사용하다 보면 다양한 오류 상황에 직면할 수 있다. 가장 일반적인 오류 중 하나는 "HTTP 오류 500.19 - Internal Server Error"이다. 이 오류는 주로 웹.config 파일의 구성 오류, 예를 들어 잘못된 XML 형식이나 지원되지 않는 모듈 지정으로 인해 발생한다. 해결 방법은 이벤트 뷰어를 통해 자세한 오류 로그를 확인하고, 문제가 되는 구성 섹션을 수정하거나 제거하는 것이다. 또한, 응용 프로그램 풀이 올바른 .NET Framework 버전으로 설정되어 있는지, 그리고 해당 풀에 필요한 권한이 부여되어 있는지 확인해야 한다.
"HTTP 오류 403.14 - Forbidden" 오류는 디렉터리 검색이 비활성화된 상태에서 기본 문서가 설정되지 않았을 때 주로 나타난다. 이 문제는 IIS 관리자의 "기본 문서" 기능을 사용하여 적절한 기본 파일(예: index.html, default.aspx)을 추가하거나, 디렉터리 검색을 허용하도록 설정함으로써 해결할 수 있다. 또한, 사이트의 물리적 경로에 사용자 또는 응용 프로그램 풀 ID가 읽기 권한을 가지고 있는지도 반드시 점검해야 한다.
"서비스를 사용할 수 없음" 또는 응용 프로그램 풀이 자주 중지되는 현상은 주로 메모리 누수, 잘못된 코드, 또는 풀의 고급 설정에서 잘못된 재활용 조건이 설정되어 있을 때 발생한다. 문제 해결을 위해 성능 모니터나 작업 관리자를 통해 메모리 및 CPU 사용량을 모니터링하고, 응용 프로그램 풀의 재활용 설정을 조정하거나, 문제가 의심되는 애플리케이션의 코드를 검토해야 한다. Windows Server의 경우, 서버 관리자에서 관련 Windows 기능이 제대로 설치되었는지 다시 확인하는 것도 도움이 된다.
5.2. 권한 관련 문제
5.2. 권한 관련 문제
IIS 관리자에서 웹 사이트나 응용 프로그램을 운영할 때 가장 흔히 발생하는 문제 중 하나는 권한 관련 문제이다. 이는 주로 웹 서버가 파일이나 디렉터리에 접근할 수 있는 적절한 권한을 가지고 있지 않을 때 발생한다. 가장 일반적인 증상으로는 "HTTP 오류 401.3 - 권한 부여로 인해 리소스에 액세스할 수 없음" 또는 "HTTP 오류 500.19 - 구성 데이터를 읽을 수 없음"과 같은 오류 메시지가 있다. 이러한 오류는 IIS가 웹 페이지 파일이나 웹 구성 파일(web.config)을 읽거나 실행할 수 없음을 의미한다.
권한 문제를 해결하기 위해서는 먼저 해당 웹 사이트의 물리적 경로에 대한 권한을 확인해야 한다. 윈도우 탐색기에서 사이트 폴더의 속성으로 들어가 보안 탭을 확인한다. 여기서 IIS_IUSRS 그룹이나 해당 응용 프로그램 풀에 할당된 특정 애플리케이션 풀 ID(예: IIS AppPool\DefaultAppPool)가 폴더에 대해 '읽기 및 실행', '폴더 내용 보기', '읽기' 권한을 가지고 있는지 점검한다. 권한이 없다면 적절한 사용자 또는 그룹을 추가하고 필요한 권한을 부여해야 한다.
응용 프로그램 풀의 ID 설정도 권한 문제와 깊은 연관이 있다. 기본적으로 응용 프로그램 풀은 ApplicationPoolIdentity라는 가상 계정으로 실행된다. 이 계정은 자동으로 IIS_IUSRS 그룹의 멤버이지만, 특정 파일이나 레지스트리 키에 대한 접근이 필요할 경우 명시적으로 권한을 부여해야 할 수 있다. 만약 데이터베이스 연결이나 네트워크 공유 폴더 접근과 같은 고급 시나리오에서 문제가 발생한다면, 응용 프로그램 풀의 ID를 도메인 계정이나 로컬 사용자 계정으로 변경하여 더 넓은 권한을 부여하는 방법을 고려할 수 있다.
마지막으로, 인증 설정의 오류도 권한 문제로 이어질 수 있다. 익명 인증이 활성화된 경우, 익명 사용자로 설정된 계정(기본값은 IUSR)이 실제로 파일 시스템에 접근할 권한을 가지고 있어야 한다. 또한 윈도우 인증만 사용하도록 설정된 사이트에 익명으로 접근을 시도하는 경우에도 접근 거부 오류가 발생한다. 따라서 IIS 관리자의 사이트 설정에서 인증 모듈을 확인하고, 사이트의 요구사항에 맞게 익명 인증, 윈도우 인증, 기본 인증 등을 올바르게 구성하는 것이 중요하다.
